package demo;
/*
 *     分层思想:实体类的对象负责数据的存和取,
 *      对与数据的业务应该交个另外一个类的对象来处理
 *
 *
 *
 * */


import java.util.Scanner;

public class MovieOperator {
    //定义一个操作类的对象
    //private ->这里要按照创建的存储数据结构进行定义,用于接受实体类的对象,以便操作对象封装的数据
    private Movie[] movies;

    public MovieOperator(Movie[] movies){
        this.movies = movies;
    }

    //2. 提供方法,展示全部电影,根据id查询电影对象
    public void showAllMovies(){
        System.out.println("======展示电影信息如下======");
        //遍历数组,获取每一个对象
        for (int i = 0; i < movies.length; i++) {
            Movie m = movies[i];
            System.out.println(m.getId()+ "\t"+ m.getName() + "\t" + m.getPrice() + "\t" + m.getActor());
        }
    }
    //3.实现根据id查询电影搞对象的功能
    public void getMovieById(){
        //3.1创建扫描器
        Scanner sc = new Scanner(System.in);
        //3.2提示用户输入id
        System.out.println("请您输入电影的id");
        //3.3接受数据
        int id = sc.nextInt();
        //提示用户展示的电影信息如下
        System.out.println("====您查询的电影信息如下=====");
        //3.4遍历数组,对查询id
        for (int i = 0; i < movies.length; i++) {
            Movie m = movies[i];
            //3.5判断与数组中的id是否相等
            if(id == m.getId()){
                System.out.println(m.getId()+ "\t"+ m.getName() + "\t" + m.getPrice() + "\t" + m.getActor());
                return;
            }
        }
        System.out.println("没有此电影");
    }

}
